package BackEnd;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;

import Entities.CAuftrag;
import Entities.CIntratagesDaten;
import Entities.CRendite;
import Entities.CStatTransportObject;
import Entities.CSymbol;
import Entities.CTagesDaten;
import Entities.DataInfoPanel;

public interface ServerInterface extends Remote {
	public void deleteAuftragAusDB(CAuftrag c) throws RemoteException;
	public int getAnzahlDatensaetze(int i) throws RemoteException;
	public double getMaximumKurs(int i) throws RemoteException;
	public double getMinimumKurs(int i) throws RemoteException;
	public boolean isSymbolInDB(String s) throws RemoteException;
	public void saveSymbolInDB(CSymbol s) throws RemoteException;
	public ArrayList<CIntratagesDaten> getIntratagesDatenFromDB(int auftragID) throws RemoteException;
	public ArrayList<CAuftrag> getAlleAuftraegeFromDB() throws RemoteException;
	public void refreshAuftragDb(CAuftrag auftrag) throws RemoteException;
	public void saveAuftragInDB(CAuftrag auftrag) throws RemoteException;
	public int getNextID(String tablename) throws RemoteException;
	public void starteAuftrag(CAuftrag auftrag) throws RemoteException;
	public void stoppeAuftrag(CAuftrag auftrag) throws RemoteException;
	public void planeAuftrag(CAuftrag auftrag) throws RemoteException;
	public CStatTransportObject getValuesForInfoPanel(int auftragID) throws RemoteException;
	public void stoppeAuftragManually(CAuftrag auftrag) throws RemoteException;
	public void interruptAuftrag(CAuftrag auftrag) throws RemoteException;
	public void setDefaultOptions() throws RemoteException;
	public Date parseDate(Timestamp time) throws RemoteException;
	public void saveOptionsInFile() throws RemoteException;
	public void loadOptionsFromFile() throws RemoteException;
	public String getEndBoerseTime() throws RemoteException;
	public void setEndBoerseTime(String endBoerseTime) throws RemoteException;
	public String getStartBoerseTime() throws RemoteException;
	public void setStartBoerseTime(String startBoerseTime) throws RemoteException;
	public Date getStartDate() throws RemoteException;
	public void setStartDate(Date startDate) throws RemoteException;
	public Date getEndDate() throws RemoteException;
	public void setEndDate(Date endDate) throws RemoteException;
	public String getLaf() throws RemoteException;
	public void setLaf(String laf) throws RemoteException;
	public ArrayList<CTagesDaten> getTagesDatenFromDB(int auftragID) throws RemoteException;
	public YahooFinanceQuoteGetter getQuote(int key) throws RemoteException;
	public String getServer() throws RemoteException;
	public void setServer(String serverSettings) throws RemoteException;
//	public void register(ClientInterface c) throws RemoteException;
	public ArrayList<CRendite> getRenditenVonDB(int auftragID) throws RemoteException;
}
